2 research outputs found

    Extra Functional Properties Evaluation of Self-managed Software Systems with Formal Methods

    Get PDF
    Multitud de aplicaciones software actuales est谩n abocadas a operar en contextos din谩micos. Estos pueden manifestarse en t茅rminos de cambios en el entorno de ejecuci贸n de la aplicaci贸n, cambios en los requisitos de la aplicaci贸n, cambios en la carga de trabajo recibida por la aplicaci贸n, o cambios en cualquiera de los elementos que la aplicaci贸n software pueda percibir y verse afectada. Adem谩s, estos contextos din谩micos no est谩n restringidos a un dominio particular de aplicaciones sino que se pueden encontrar en m煤ltiples dominios, tales como: sistemas empotrados, arquitecturas orientadas a servicios, clusters para computaci贸n de altas prestaciones, dispositivos m贸viles o software para el funcionamiento de la red. La existencia de estas caracter铆sticas disuade a los ingenieros de desarrollar software que no sea capaz de cambiar de modo alguno su ejecuci贸n para acomodarla al contexto en el que se est谩 ejecutando el software en cada momento. Por lo tanto, con el objetivo de que el software pueda satisfacer sus requisitos en todo momento, este debe incluir mecanismos para poder cambiar su configuraci贸n de ejecuci贸n. Adem谩s, debido a que los cambios de contexto son frecuentes y afectan a m煤ltiples dispositivos de la aplicaci贸n, la intervenci贸n humana que cambie manualmente la configuraci贸n del software no es una soluci贸n factible. Para enfrentarse a estos desaf铆os, la comunidad de Ingenier铆a del Software ha propuesto nuevos paradigmas que posibilitan el desarrollo de software que se enfrenta a contextos cambiantes de un modo autom谩tico; por ejemplo las propuestas Autonomic Computing y Self-* Software. En tales propuestas es el propio software quien gestiona sus mecanismos para cambiar la configuraci贸n de ejecuci贸n, sin requerir por lo tanto intervenci贸n humana alguna. Un aspecto esencial del software auto-adaptativo (Self-adaptive Software es uno de los t茅rminos m谩s generales para referirse a Self-* Software) es el de planear sus cambios o adaptaciones. Los planes de adaptaci贸n determinan tanto el modo en el que se adaptar谩 el software como los momentos oportunos para ejecutar tales adaptaciones. Hay un gran conjunto de situaciones para las cuales la propiedad de auto- adaptaci贸n es una soluci贸n. Una de esas situaciones es la de mantener al sistema satisfaciendo sus requisitos extra funcionales, tales como la calidad de servicio (Quality of Service, QoS) y su consumo de energ铆a. Esta tesis ha investigado esa situaci贸n mediante el uso de m茅todos formales. Una de las contribuciones de esta tesis es la propuesta para asentar en una arquitectura software los sistemas que son auto-adaptativos respecto a su QoS y su consumo de energ铆a. Con este objetivo, esta parte de la investigaci贸n la gu铆a una arquitectura de tres capas de referencia para sistemas auto-adaptativos. La bondad del uso de una arquitectura de referencia es que muestra f谩cilmente los nuevos desaf铆os en el dise帽o de este tipo de sistemas. Naturalmente, la planificaci贸n de la adaptaci贸n es una de las actividades consideradas en la arquitectura. Otra de las contribuciones de la tesis es la propuesta de m茅todos para la creaci贸n de planes de adaptaci贸n. Los m茅todos formales juegan un rol esencial en esta actividad, ya que posibilitan el estudio de las propiedades extra funcionales de los sistemas en diferentes configuraciones. El m茅todo formal utilizado para estos an谩lisis es el de las redes de Petri markovianas. Una vez que se ha creado el plan de adaptaci贸n, hemos investigado la utilizaci贸n de los m茅todos formales para la evaluaci贸n de QoS y consumo de energ铆a de los sistemas auto-adaptativos. Por lo tanto, se ha contribuido a la comunidad de an谩lisis de QoS con el an谩lisis de un nuevo y particularmente complejo tipo de sistemas software. Para llevar a cabo este an谩lisis se requiere el modelado de los cambios din路micos del contexto de ejecuci贸n, para lo que se han utilizado una variedad de m茅todos formales, como los Markov modulated Poisson processes para estimar los par谩metros de las variaciones en la carga de trabajo recibida por la aplicaci贸n, o los hidden Markov models para predecir el estado del entorno de ejecuci贸n. Estos modelos han sido usados junto a las redes de Petri para evaluar sistemas auto-adaptativos y obtener resultados sobre su QoS y consumo de energ铆a. El trabajo de investigaci贸n anterior sac贸 a la luz el hecho de que la adaptabilidad de un sistema no es una propiedad tan f谩cilmente cuantificable como las propiedades de QoS -por ejemplo, el tiempo de respuesta- o el consumo de energ脤a. En consecuencia, se ha investigado en esa direcci贸n y, como resultado, otra de las contribuciones de esta tesis es la propuesta de un conjunto de m茅tricas para la cuantificaci贸n de la propiedad de adaptabilidad de sistemas basados en servicios. Para conseguir las anteriores contribuciones se realiza un uso intensivo de modelos y transformaciones de modelos; tarea para la que se han seguido las mejores pr谩cticas en el campo de investigaci贸n de la Ingenier铆a orientada a modelos (Model-driven Engineering, MDE). El trabajo de investigaci贸n de esta tesis en el campo MDE ha contribuido con: el aumento de la potencia de modelado de un lenguaje de modelado de software propuesto anteriormente y m茅todos de transformaci贸n desde dos lenguajes de modelado de software a redes de Petri estocasticas

    Implementaci贸n de un generador de estrategias de autoconfiguraci贸n para la mejora de prestaciones de software autoadaptativo

    Get PDF
    Dentro de la Ingenier铆a del software, el paradigma open-world propone la creaci贸n de sistemas software heterog茅neos y distribuidos con un entorno de ejecuci贸n cambiante e impredecible. Partiendo de una arquitectura de tres capas propuesta en la literatura, 茅sta se adapta para la implementaci贸n de sistemas software autoadaptativos en base a prestaciones en el contexto open-world. El objetivo de este PFC es la implementaci贸n de la parte m谩s desafiante de la arquitectura: El generador de estrategias de autoconfiguraci贸n. Para ello ser谩 necesario el modelado diagramas UML con anotaciones MARTE, la traducci贸n de los diagramas a redes de Petri y la evaluaci贸n temporal de las redes de Petri. El resultado obtenido ha sido un paquete ejecutable preparado para ser integrado en sistemas autoadaptativos que siguen la arquitectura de tres capas referenciada. Este paquete genera una estrategia de autoconfiguraci贸n que dirigir谩 las reconfiguraciones del software autoadaptativo reaccionando a los cambios percibidos en el entorno open-world del sistema. Mediante el desarrollo de este software ejecutable, se ha dado un paso adelante hacia la implementaci贸n real de sistemas autoadaptativos en base a sus prestaciones
    corecore